2023年10月14日
川俣晶の縁側ソフトウェア技術雑記 total 1040 count

.NET Maui Blazorアプリでページを完全にリロードできない

Written By: 川俣 晶連絡先

問題 §

Blazor WebAssemblyでアプリを完全に初期化するために、ページを強制リロードしていた。しかし、.NET Maui Blazorアプリでページをリロードしても静的なメンバーが初期値に戻らない。

アプリが閉じた時に再度起動する外部アプリを作成したがアプリが起動しない

原因 §

.NET Maui BlazorアプリはBlazor Server相当なので、リロードしてもWeb部分だけが初期化され、コード部は初期化されていない。

外部アプリから起動できないのはMSIXインストーラー用のビルドの制限事項。MAUIアプリがエクスプローラから起動できない参照。

解決 §

 実は外部アプリではなく自分自身から自分を起動することはできるらしいので、自分を起動してから終了する。これだと終了する前に次のプロセスを起動してしまうことになるが、そこだけ注意する。

Process.Start(Environment.ProcessPath);

Environment.Exit(0);